﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
using DevExpress.XtraEditors;
using BUS;
using Public;

namespace QuanLyKhoHangVatTu
{
    public partial class NhanVien : DevExpress.XtraEditors.XtraForm
    {
        NhanVien_BUS nhanvien_bus = new NhanVien_BUS();
        NhanVien_PB nhanvien_pb = new NhanVien_PB();
        public NhanVien()
        {
            InitializeComponent();
        }
        public NhanVien( string ma,string ten,string gioitinh,DateTime ngaysinh,string msthue,string cmnd,DateTime ngaycap,string noicap,string chucdanh,string donvi,decimal luongtt,double hsl,string tknh,string mtnh, string diachi, string dienthoai, string email )
        {
            InitializeComponent();
            txtMa.Text = ma;
            txtTen.Text = ten;
            if (gioitinh == "Nam")
                rbtNam.Checked = true;
            else
                rbtNu.Checked = true;
            dtNgaySinh.EditValue = ngaysinh;
            txtMaSoThue.Text = msthue;
            txtCMND.Text = cmnd;
            dtNgayCap.EditValue = ngaycap;
            txtNoiCap.Text = noicap;
            txtChucDanh.Text = chucdanh;
            cboDonVi.EditValue = donvi;
            txtLuongTT.Text = luongtt.ToString();
            txtHSLuong.Text = hsl.ToString();
            txtTaiKhoan.Text = tknh;
            txtMoTaiNganHang.Text = mtnh;
            txtDiaChi.Text = diachi;
            txtSDT.Text = dienthoai;
            txtEmail.Text = email;
        }
        private void simpleButton3_Click(object sender, EventArgs e)
        {

        }

        private void dtNgaySinh_EditValueChanged(object sender, EventArgs e)
        {

        }

        private void btnLuu_Click(object sender, EventArgs e)
        {
            GetValues();
            if (ChecksData())
            {
                //if (Flag_PB.ThemSua == 1)
                //{
                try
                {
                    nhanvien_bus.ThemSuaNhanVien(nhanvien_pb);
                }
                catch (Exception ex)
                {
                    if (ex.Message.Contains(" data would be truncated"))
                        XtraMessageBox.Show("Vượt quá ký tự cho phép", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    return;
                }
                
                
                this.Close();
            }
            else
            {
                MessageBox.Show("Vui lòng điền các thông tin trong trường (*)", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
        public NhanVien_PB GetValues()
        {
            NhanVien_PB.MaNhanVien = txtMa.Text;
            NhanVien_PB.TenNhanVien = txtTen.Text;
            if (rbtNam.Checked == true)
                NhanVien_PB.GioiTinh = "Nam";
            else
                NhanVien_PB.GioiTinh = "Nữ";
            if (dtNgaySinh.Text != "")
                NhanVien_PB.NgaySinh = Convert.ToDateTime(dtNgaySinh.EditValue.ToString());
            NhanVien_PB.MaSoThue = txtMaSoThue.Text;
            NhanVien_PB.CMND = txtCMND.Text;
            if (dtNgaySinh.Text != "")
                NhanVien_PB.NgayCap = Convert.ToDateTime(dtNgaySinh.EditValue.ToString());
            NhanVien_PB.NoiCap = txtNoiCap.Text;
            NhanVien_PB.ChucDanh = txtChucDanh.Text;
            NhanVien_PB.DonVi = cboDonVi.Text;
            NhanVien_PB.LuongThoaThuan = txtLuongTT.Text;
            NhanVien_PB.HeSoLuong = float.Parse(txtHSLuong.Text);
            NhanVien_PB.TKNganHang = txtTaiKhoan.Text;
            NhanVien_PB.MoTaiNganHang = txtMoTaiNganHang.Text;
            NhanVien_PB.DiaChi = txtDiaChi.Text;
            NhanVien_PB.DienThoai = txtSDT.Text;
            NhanVien_PB.Email = txtEmail.Text;

            return nhanvien_pb;
        }
        private bool ChecksData()
        {
            if (txtMa.Text == string.Empty)
            {
                txtMa.ErrorText = "Mã nhân viên không được rỗng";
                return false;
            }
            if (txtTen.Text == string.Empty)
            {
                txtTen.ErrorText = "Tên nhân viên không được rỗng";
                return false;
            }
            if (dtNgaySinh.Text == string.Empty)
            {
                dtNgaySinh.ErrorText = "Ngày sinh không được rỗng";
                return false;
            }
            if (dtNgayCap.Text == string.Empty)
            {
                dtNgayCap.ErrorText = "Ngày cấp không được rỗng";
                return false;
            }
            if (txtCMND.Text == string.Empty)
            {
                txtCMND.ErrorText = "CMND không được rỗng";
                return false;
            }
            if (cboDonVi.Text == string.Empty)
            {
                cboDonVi.ErrorText = "Đơn vị công tác nhân viên không được rỗng";
                return false;
            }
            
            if (txtLuongTT.Text == string.Empty)
            {
                txtLuongTT.ErrorText = "Luong TT không được rỗng";
                return false;
            }
            if (txtHSLuong.Text == string.Empty)
            {
                txtHSLuong.ErrorText = "Hệ số lương không được rỗng";
                return false;
            }

            if (nhanvien_bus.Exists(txtMa.Text))
            {
                if (Flag_PB.Sua == true)
                {
                    Flag_PB.Sua = false;
                    return true;

                }
                txtMa.ErrorText = "Mã trùng";
                return false;
            }
            return true;
        }

        
        private void NhanVien_Load(object sender, EventArgs e)
        {
            cboDonVi.Properties.DataSource = nhanvien_bus.LayDSDonVi();
            cboDonVi.Properties.DisplayMember = "MADONVI";
            cboDonVi.Properties.ValueMember = "MADONVI";
            rbtNam.Checked = true;
            if (Flag_PB.ThemSua == 1)
            {
                txtMa.ResetText();
                txtTen.ResetText();
                rbtNam.Checked = true;
                dtNgaySinh.ResetText();
                txtMaSoThue.ResetText();
                txtCMND.ResetText();
                dtNgayCap.ResetText();
                txtNoiCap.ResetText();
                txtChucDanh.ResetText();
                cboDonVi.ResetText();
                txtLuongTT.ResetText();
                txtTaiKhoan.ResetText();
                txtMoTaiNganHang.ResetText();
                txtDiaChi.ResetText();
                txtSDT.ResetText();
                txtEmail.ResetText();

            }
            if (Flag_PB.ThemSua == 2)
            {
                txtMa.Text = NhanVien_PB.MaNhanVien;
                txtTen.Text = NhanVien_PB.TenNhanVien;
                if (NhanVien_PB.GioiTinh == "Nam")
                    rbtNam.Checked = true;
                else
                    rbtNu.Checked = true;
                dtNgaySinh.EditValue = NhanVien_PB.NgaySinh;
                txtMaSoThue.Text = NhanVien_PB.MaSoThue;
                txtCMND.Text = NhanVien_PB.CMND;
                dtNgayCap.EditValue = NhanVien_PB.NgayCap;
                txtChucDanh.Text = NhanVien_PB.ChucDanh;
                cboDonVi.Text = NhanVien_PB.DonVi;
                txtLuongTT.Text = NhanVien_PB.LuongThoaThuan;
                txtHSLuong.Text = NhanVien_PB.HeSoLuong.ToString();
                txtTaiKhoan.Text = NhanVien_PB.TKNganHang;
                txtMoTaiNganHang.Text = NhanVien_PB.MoTaiNganHang;
                txtDiaChi.Text = NhanVien_PB.DiaChi;
                txtSDT.Text = NhanVien_PB.DienThoai;
                txtEmail.Text = NhanVien_PB.Email;

            }
        }

        private void btnLuu_Them_Click(object sender, EventArgs e)
        {
            GetValues();
            if (ChecksData())
            {
                //if (Flag_PB.ThemSua == 1)
                //{
                    try
                    {
                        nhanvien_bus.ThemSuaNhanVien(nhanvien_pb);
                        txtMa.ResetText();
                        txtTen.ResetText();
                        rbtNam.Checked = true;
                        dtNgaySinh.ResetText();
                        txtMaSoThue.ResetText();
                        txtCMND.ResetText();
                        dtNgayCap.ResetText();
                        txtNoiCap.ResetText();
                        txtChucDanh.ResetText();
                        cboDonVi.ResetText();
                        txtLuongTT.ResetText();
                        txtHSLuong.ResetText();
                        txtTaiKhoan.ResetText();
                        txtMoTaiNganHang.ResetText();
                        txtDiaChi.ResetText();
                        txtSDT.ResetText();
                        txtEmail.ResetText();
                        if (this.Tag != null)
                        {
                            IChildForm iChildForm = this.Tag as IChildForm;
                            if (iChildForm != null)
                                iChildForm.Nap();
                        }
                    }
                    catch (Exception ex)
                    {
                        if (ex.Message.Contains(" data would be truncated"))
                            XtraMessageBox.Show("Vượt quá ký tự cho phép", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                        return;
                    }
                //}
                //if (Flag_PB.ThemSua == 2)
                //{
                //    txtMa.Properties.ReadOnly = false;
                //    nhanvien_bus.SuaNhanVien(nhanvien_pb);
                //    Flag_PB.ThemSua = 1;
                //}
                


            }
            //else
            //{
            //    MessageBox.Show("Vui lòng điền các thông tin trong trường (*)", "Thông báo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            //}
        }

        private void btnHuyBo_Click(object sender, EventArgs e)
        {
            DialogResult = DialogResult.OK;
            this.Close();
        }

        private void txtHSLuong_Leave(object sender, EventArgs e)
        {
        }

        private void txtLuongTT_Leave(object sender, EventArgs e)
        {
        }
    }
}